$(function () {

  // 全局查询一级分类的参数
  var QueryObj = {
    page: 1,
    pageSize: 2
  };
  // 总页数
  var totalPage = 1;

  // 全局的插件表单对象
  var ValiForm;
  init();
  function init() {
    queryTopCategoryPaging();
    setFormValite();
  }


  // 请求一级分类数据
  function queryTopCategoryPaging() {

    $.get("/category/queryTopCategoryPaging", QueryObj, function (result) {
      // console.log(result);
      // 计算总页数
      totalPage = Math.ceil(result.total / QueryObj.pageSize);
      // console.log(totalPage);
      // <tr><th>序号</th><th>一级分类名称</th></tr>

      var htmlArr = ['<tr><th>序号</th><th>一级分类名称</th></tr>'];
      for (var i = 0; i < result.rows.length; i++) {
        htmlArr.push('<tr><td>' + ((QueryObj.page - 1) * QueryObj.pageSize + i + 1) + '</td><td>' + result.rows[i].categoryName + '</td></tr>');
        // ((QueryObj.page-1)*QueryObj.pageSize+i+1)
      }


      // 把数据渲染到table中
      $(".lt_data_tbl").html(htmlArr.join(''));


      // 加载分页插件
      setPage();
    })

  }

  // 设置分页
  function setPage() {
    // 配置
    var options = {
      bootstrapMajorVersion: 3,// bootstrap为3.x版本的时候要声明
      alignment: "left",//左侧显示
      currentPage: QueryObj.page,//当前页数
      totalPages: totalPage,//总页数 注意不是总条数
      // 点击页码的时候触发
      onPageClicked: function (e, oe, type, page) {
        // event, originalEvent, type,page。
        // page 为被点击的页码

        QueryObj.page = page;
        queryTopCategoryPaging();
      }
    }

    // 初始化
    $(".pagination").bootstrapPaginator(options);
  }

  // 启用表单验证
  function setFormValite() {
    // 对表单进行配置
    var $form = $('#ff').bootstrapValidator({
      /*校验插件默认会忽略  隐藏的表单元素
            不忽略任何情况的表单元素*/
      //excluded:[],
      // 图标
      feedbackIcons: {
        valid: 'glyphicon glyphicon-ok',
        invalid: 'glyphicon glyphicon-remove',
        validating: 'glyphicon glyphicon-refresh'
      },
      // 要验证的字段
      fields: {
        // 分类名称-name属性
        categoryName: {
          // 用户名的提示信息
          // message: 'The username is not valid',
          validators: {
            // 不能为空
            notEmpty: {
              message: '分类名称不能为空'
            },
            // 提供给ajax回调使用
            callback: {
              message: "用户名不存在"
            }
          }
        }
      }
    });

    // 开始启用表单验证 满足验证要求的时候 自己执行
    $form.on('success.form.bv', function (e) {
      // 点击提交的时候  

      // 阻止默认提交事件
      e.preventDefault();

      // console.log(123);

      // 提交
      addTopCategory(function (result) {
        // 关闭模态框
        $('#cateFirstModal').modal('hide');
        // 刷新数据-已经更新了分页插件了 
        queryTopCategoryPaging();
      });
    });

    ValiForm=$form;

  }


  // 添加一级分类到后台
  function addTopCategory(callback) {

    // 获取参数
    var categoryName = $("#categoryName").val();
    var obj = { categoryName: categoryName };
    $.post("/category/addTopCategory", obj, function (result) {
      if (result.success) {
        console.log("成功");
        callback && callback(result);
      } else {
        console.log("失败");
      }

    })

  }

  // 点击添加分类按钮的时候 触发 弹出模态框
  $(".addCategoryBtn").click(function () {
 
  })

  // hide 方法调用之后立即触发该事件 模态框隐藏之后 马上触发
  // 做表单重置的
  $('#cateFirstModal').on('hide.bs.modal', function (e) {
     // 重置表单 - js 原生的重置  重置 输入框的文字
    $("#ff")[0].reset();
      // 重置验证信息- 插件的重置 重置的是插件自己的图标显示 
    $("#ff").data('bootstrapValidator').resetForm();
  })
  
})